1. Field of the Invention
This invention relates generally to computer systems and, more particularly, to a method and system for quickly detecting display device configuration during system boot.
2. Description of the Related Art
Version 1.0 of the Simple Boot Flag Specification (xe2x80x9cSBF Specxe2x80x9d) by Microsoft, which is incorporated herein by reference in its entirety, provides for a simplified system boot process that does not run diagnostics unless a problem is known to exist. The SBF Spec provides for a boot register that resides in complementary metal oxide semiconductor (xe2x80x9cCMOSxe2x80x9d) memory and whose location is indicated by a boot table. The operating system writes to this boot register to set options for subsequent system boots. The computer system""s BASIC Input/Output System (xe2x80x9cBIOSxe2x80x9d), and the BIOS on any expansion cards, detect, by evaluating the contents of the boot register, whether diagnostics need to be executed during the next boot.
A video BIOS, associated with a video card, is also executed during the boot process. The video BIOS provides a set of video-related functions that provide an interface from the rest of the computer system to the video hardware. The video BIOS provides a low-level software interface to the video chipset in the same manner that the system BIOS provides an interface to the computer system chipset.
Regarding the SBF scheme for the system BIOS, the boot register resides in CMOS memory and provides a mechanism for the operating system to communicate back to the BIOS about what actions need to be taken on the next system boot. Specifically, the boot register contains a diagnostics bit, DIAG. The contents of the DIAG bit indicate to the system BIOS whether or not Power On Self Test (POST) diagnostics should be run during system boot-up. The DIAG bit is set either by the BIOS itself or by the operating system. If set by the operating system, the DIAG bit is set during one system boot to indicate to the BIOS that diagnostics should be run during the next system boot. If the DIAG bit is not set, then the BIOS should not run a full suite of diagnostic routines but should instead run a much simpler system boot routine, referred to herein as a simple boot routine, in order to boot the computer system as quickly as possible.
One area of the system boot process that continues to cause a significant boot time delay is the detection of display devices. Even with the SBF implementation to speed a system boot, a video BIOS""s detection of the display device(s) connected to the computer system can be complicated and, therefore, time-consuming. Many computer systems have multiple types of display devices attached to the system. In addition, between system boots, the user may have changed the default display monitor or may have connected a different type of display monitor. For instance, the output connectors for a computer system may include a DB-15 connector that is coupled to a traditional analog monitor, a DVI (Digital Visual Interface) connector that is coupled to digital flat panel display, and/or a television connector, such as a NTSC (National Television Standards Committee) or PAL (Phase Alternating Line) connector, coupled to a television output device. If, during a system boot, the computer system serially polls its connectors to detect each of the three types of display devices, the video BIOS POST time is of an undesirably long duration. What is needed is a method and apparatus that allows the video BIOS to quickly detect the computer system""s display device configuration. In addition, it would be desirable if the method and apparatus could utilize already-existing indicators, such as those in the boot flag register.
The present invention speeds display device detection during a simple boot by utilizing the simple boot flag register and an additional indicator to determine the display device configuration detected during the previous system boot. If the display configuration has changed since the previous boot, then the changes are noted and, when appropriate, recorded for use during subsequent boots. If the configuration has not changed, then the display device configuration from the previous boot is still accurate, and it is therefore not necessary to query each output port during the current system boot.
In at least one embodiment, a method of detecting the display device configuration in a computer system comprises determining whether a previous system boot was successful. If the previous system boot was successful, then an indicator is accessed to determine the previous display device configuration that was recorded during the previous boot. The method includes determining whether the previous display device configuration has been modified, and includes modifying the indicator to reflect a current display device configuration if the previous display device configuration has been modified.
In at least one embodiment, a computer system provides a processor and a memory coupled to the processor. The system includes a module that determines whether a previous system boot was successful, a module that accesses an indicator to determine a previous display device configuration, if the previous system boot was successful, a module that determines whether the previous display device configuration has been modified, and a module that modifies the indicator to reflect a current display device configuration if the previous display device configuration has been modified.